What we expect to learn
Khiem Nguyen
Lecturer in Multiscale Materials
khiem.nguyen@glasgow.ac.uk
The underlying design philosophy of C and C++ can be summed up as “trust the programmer” – which is both wonderful and dangerous.
C++ is designed to allow the programmer a high degree of freedom to do what they want.
this also means the language often won’t stop you from doing things that don’t make sense.
C++ is a compiled language.
a.out)..py).C++ also has a large number of high-quality 3rd party libraries available, which can shorten development times significantly.
#include <iostream> // to use std::cout
int main() { // Every program has function main()
std::cout << "Welcome everybody to ENG3091!" << std::endl; // note semicolor at the end
std::cout << "\nWe shall learn:\n"; // most of statement ends with semicolon
std::cout << "(1) C++ Basics\n";
std::cout << "(2) Object-oriented in C++\n";
std::cout << "(3) Some standard libraries in C++\n";
std::cout << "(4) Unified Modelling Language\n";
return 0; // The program returns "0", meaning it executes successfully.
}Basic C++
Variables, Functions, Control Flow
Intermediate C++
References, Pointers, Template, Function Overriding, Dynamic Array
Object-oriented Programming (OOP)
\(4\) pillars of OOP: \((1)\) Encapsulation, \((2)\) Abstraction, \((3)\) Inheritance, \((4)\) Polymorphism
Standard Template Library (STL)
Unified Modelling Language:
In this course, we learn how to organize a large project by using class diagrams
make and cmake – Extra materials: Coverred if we have enough time.
How to automate build process, how to install open-source libraries and how to build our own libraries
My opinions:
You must be kidding me.
A software engineer’s average salary varies greatly by location, experience, and company, but in the UK, it generally ranges from entry-level around \(£25k-£35k\) up to \(£70k+\) for senior roles, with London often paying more, while in the US, median total compensation can exceed $\(180k\), especially at top tech firms.
The School of Engineering asks me to teach Software Engineering in 10 weeks? Mission impossible!
Can you become a software engineer after \(10\) weeks of learning C++ and class diagrams?
Then, why do we even need to learn?
I am teaching C++ at School of Engineering, Uni of Glasgow. Many students believe that AI Chatbot like ChatGPT, Gemini and CoPilot will soon replace software engineering. What is your opinion about this?
Let us ask Gemini, CoPilot and ChatGPT what they think.
Performance on the last three years
Question Huge difference between mid-term assignments and final paper exam???
Answer Yes, ChatGPT can help in mid-term, but not in the paper exam.
On average, I am confident to say I am generally more lenient than many other lecturers.
But, I cannot give points to a completely wrong answer.